package com.zf.proxy.cglib.subclass;

import net.sf.cglib.proxy.MethodInterceptor;
import net.sf.cglib.proxy.MethodProxy;

import java.lang.reflect.Method;

/**
 * cglib使用子类代理
 * @author Zhou Feng
 */
public class CgSubAInterceptor implements MethodInterceptor {

    /**
     * @param obj 生成的代理对象
     * @param method 执行的方法
     * @param args 参数
     * @param methodProxy 执行方法的封装
     */
    @Override
    public Object intercept(Object obj, Method method, Object[] args, MethodProxy methodProxy) throws Throwable {
        System.out.println("代理");
        return methodProxy.invokeSuper(obj, args);
    }
}
